<?php

/**
 * GameSkill form base class.
 *
 * @method GameSkill getObject() Returns the current form's model object
 *
 * @package    aiontoolskit
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormGeneratedTemplate.php 29553 2010-05-20 14:33:00Z Kris.Wallsmith $
 */
abstract class BaseGameSkillForm extends BaseFormDoctrine
{
  public function setup()
  {
    $this->setWidgets(array(
      'id'                            => new sfWidgetFormInputHidden(),
      'name'                          => new sfWidgetFormInputText(),
      'type'                          => new sfWidgetFormChoice(array('choices' => array('Magical' => 'Magical', 'Physical' => 'Physical'))),
      'sub_type'                      => new sfWidgetFormChoice(array('choices' => array('Attack' => 'Attack', 'Buff' => 'Buff', 'Chant' => 'Chant', 'Debuff' => 'Debuff', 'Heal' => 'Heal', 'None' => 'None', 'Summon' => 'Summon', 'SummonHorning' => 'SummonHorning', 'SummonTrap' => 'SummonTrap'))),
      'skill_category'                => new sfWidgetFormChoice(array('choices' => array('SKILLCTG_CHAIN_SKILL' => 'SKILLCTG_CHAIN_SKILL', 'SKILLCTG_DEATHBLOW' => 'SKILLCTG_DEATHBLOW', 'SKILLCTG_DISPELL' => 'SKILLCTG_DISPELL', 'SKILLCTG_DRAIN' => 'SKILLCTG_DRAIN', 'SKILLCTG_HEAL' => 'SKILLCTG_HEAL', 'SKILLCTG_MENTAL_DEBUFF' => 'SKILLCTG_MENTAL_DEBUFF', 'SKILLCTG_NONE' => 'SKILLCTG_NONE', 'SKILLCTG_PHYSICAL_DEBUFF' => 'SKILLCTG_PHYSICAL_DEBUFF', 'SKILLCTG_REBIRTH' => 'SKILLCTG_REBIRTH'))),
      'ultra_skill'                   => new sfWidgetFormInputCheckbox(),
      'ultra_transfer'                => new sfWidgetFormInputCheckbox(),
      'skillicon_name'                => new sfWidgetFormInputText(),
      'delay_id'                      => new sfWidgetFormInputText(),
      'activation_attribute'          => new sfWidgetFormChoice(array('choices' => array('Active' => 'Active', 'Maintain' => 'Maintain', 'Passive' => 'Passive', 'Provoked' => 'Provoked', 'Toogle' => 'Toogle'))),
      'target_slot'                   => new sfWidgetFormChoice(array('choices' => array('Boost' => 'Boost', 'buff' => 'buff', 'Chant' => 'Chant', 'Debuff' => 'Debuff', 'None' => 'None', 'NoShow' => 'NoShow', 'Special' => 'Special', 'special2' => 'special2'))),
      'first_target'                  => new sfWidgetFormChoice(array('choices' => array('Me' => 'Me', 'MyPet' => 'MyPet', 'Point' => 'Point', 'Target' => 'Target', 'TargetorMe' => 'TargetorMe', 'Target_MyParty_NonVisible' => 'Target_MyParty_NonVisible'))),
      'target_marker_radius'          => new sfWidgetFormInputText(),
      'effect1_type'                  => new sfWidgetFormChoice(array('choices' => array('Activate_Enslave' => 'Activate_Enslave', 'AlwaysBlock' => 'AlwaysBlock', 'AlwaysDodge' => 'AlwaysDodge', 'AlwaysParry' => 'AlwaysParry', 'AlwaysResist' => 'AlwaysResist', 'Amr_Mastery' => 'Amr_Mastery', 'Aura' => 'Aura', 'BackDashATK' => 'BackDashATK', 'Bind' => 'Bind', 'Bleed' => 'Bleed', 'Blind' => 'Blind', 'BoostDropRate' => 'BoostDropRate', 'BoostHate' => 'BoostHate', 'BoostHealEffect' => 'BoostHealEffect', 'BoostSkillCastingTime' => 'BoostSkillCastingTime', 'BoostSkillCost' => 'BoostSkillCost', 'BoostSpellAttackEffect' => 'BoostSpellAttackEffect', 'Cannon' => 'Cannon', 'CarveSignet' => 'CarveSignet', 'ChangeHateOnAttacked' => 'ChangeHateOnAttacked', 'CloseAerial' => 'CloseAerial', 'CondSkillLauncher' => 'CondSkillLauncher', 'Confuse' => 'Confuse', 'ConvertHeal' => 'ConvertHeal', 'Curse' => 'Curse', 'DPHeal' => 'DPHeal', 'DPHeal_Instant' => 'DPHeal_Instant', 'DPTransfer' => 'DPTransfer', 'DashATK' => 'DashATK', 'DeBoostHealAmount' => 'DeBoostHealAmount', 'DeathBlow' => 'DeathBlow', 'DeboostHealAmount' => 'DeboostHealAmount', 'Deform' => 'Deform', 'DelayedFPATK_Instant' => 'DelayedFPATK_Instant', 'DelayedSpellATK_Instant' => 'DelayedSpellATK_Instant', 'Disease' => 'Disease', 'Dispel' => 'Dispel', 'DispelBuff' => 'DispelBuff', 'DispelBuffCounterATK' => 'DispelBuffCounterATK', 'DispelDeBuff' => 'DispelDeBuff', 'DispelDebuff' => 'DispelDebuff', 'DispelDebuffMental' => 'DispelDebuffMental', 'DispelDebuffPhysical' => 'DispelDebuffPhysical', 'DispelNPCDebuff' => 'DispelNPCDebuff', 'DispelNpcBuff' => 'DispelNpcBuff', 'Dummy' => 'Dummy', 'ExtendAuraRange' => 'ExtendAuraRange', 'FPATK' => 'FPATK', 'FPATK_Instant' => 'FPATK_Instant', 'FPHeal' => 'FPHeal', 'FPHeal_Instant' => 'FPHeal_Instant', 'Fall' => 'Fall', 'Fear' => 'Fear', 'FpHeal' => 'FpHeal', 'Heal' => 'Heal', 'HealCastorOnAttacked' => 'HealCastorOnAttacked', 'HealCastorOnTargetDead' => 'HealCastorOnTargetDead', 'Heal_Instant' => 'Heal_Instant', 'Hide' => 'Hide', 'HostileUp' => 'HostileUp', 'InvulnerableWing' => 'InvulnerableWing', 'MPAttack' => 'MPAttack', 'MPAttack_Instant' => 'MPAttack_Instant', 'MPHeal' => 'MPHeal', 'MPHeal_Instant' => 'MPHeal_Instant', 'MagicCounterATK' => 'MagicCounterATK', 'MoveBehindATK' => 'MoveBehindATK', 'NoFly' => 'NoFly', 'OneTimeBoostSkillAttack' => 'OneTimeBoostSkillAttack', 'OneTimeBoostSkillCritical' => 'OneTimeBoostSkillCritical', 'OpenAerial' => 'OpenAerial', 'Paralyze' => 'Paralyze', 'PetOrderUseUltraSkill' => 'PetOrderUseUltraSkill', 'Petrification' => 'Petrification', 'Poison' => 'Poison', 'Polymorph' => 'Polymorph', 'ProcATK_Instant' => 'ProcATK_Instant', 'ProcDPHeal_Instant' => 'ProcDPHeal_Instant', 'ProcFpHeal_Instant' => 'ProcFpHeal_Instant', 'ProcHeal_Instant' => 'ProcHeal_Instant', 'ProcMPHeal_Instant' => 'ProcMPHeal_Instant', 'Protect' => 'Protect', 'Provoker' => 'Provoker', 'Pulled' => 'Pulled', 'RandomMoveLoc' => 'RandomMoveLoc', 'Rebirth' => 'Rebirth', 'Recall_Instant' => 'Recall_Instant', 'Reflector' => 'Reflector', 'Resurrect' => 'Resurrect', 'ResurrectBase' => 'ResurrectBase', 'ResurrectPositional' => 'ResurrectPositional', 'ReturnHome' => 'ReturnHome', 'ReturnPoint' => 'ReturnPoint', 'Root' => 'Root', 'Sanctuary' => 'Sanctuary', 'Search' => 'Search', 'ShapeChange' => 'ShapeChange', 'Shield' => 'Shield', 'ShieldMastery' => 'ShieldMastery', 'Signet' => 'Signet', 'SignetBurst' => 'SignetBurst', 'Silence' => 'Silence', 'Simple_Root' => 'Simple_Root', 'SkillATKDrain_Instant' => 'SkillATKDrain_Instant', 'SkillATK_Instant' => 'SkillATK_Instant', 'SkillLauncher' => 'SkillLauncher', 'Sleep' => 'Sleep', 'Slow' => 'Slow', 'Snare' => 'Snare', 'SpellATK' => 'SpellATK', 'SpellATKDrain' => 'SpellATKDrain', 'SpellATKDrain_Instant' => 'SpellATKDrain_Instant', 'SpellATK_Instant' => 'SpellATK_Instant', 'Spin' => 'Spin', 'Stagger' => 'Stagger', 'StatBoost' => 'StatBoost', 'StatDown' => 'StatDown', 'StatUp' => 'StatUp', 'Stumble' => 'Stumble', 'Stun' => 'Stun', 'SubTypeBoostResist' => 'SubTypeBoostResist', 'SubTypeExtendDuration' => 'SubTypeExtendDuration', 'Summon' => 'Summon', 'SummonBindingGroupGate' => 'SummonBindingGroupGate', 'SummonGroupGate' => 'SummonGroupGate', 'SummonHoming' => 'SummonHoming', 'SummonServant' => 'SummonServant', 'SummonSkillArea' => 'SummonSkillArea', 'SummonTrap' => 'SummonTrap', 'SwitchHPMP_Instant' => 'SwitchHPMP_Instant', 'SwitchHostile' => 'SwitchHostile', 'WeaponStatBoost' => 'WeaponStatBoost', 'WeaponStatUp' => 'WeaponStatUp', 'Wpn_Dual' => 'Wpn_Dual', 'Wpn_Mastery' => 'Wpn_Mastery', 'XPBoost' => 'XPBoost', 'deform' => 'deform', 'nofly' => 'nofly'))),
      'effect1_effectid'              => new sfWidgetFormInputText(),
      'effect1_basiclv'               => new sfWidgetFormInputText(),
      'effect1_reserved1'             => new sfWidgetFormInputText(),
      'effect1_reserved2'             => new sfWidgetFormInputText(),
      'effect1_reserved3'             => new sfWidgetFormInputText(),
      'effect1_reserved4'             => new sfWidgetFormInputText(),
      'effect1_reserved5'             => new sfWidgetFormInputText(),
      'effect3_hop_a'                 => new sfWidgetFormInputText(),
      'effect3_hop_b'                 => new sfWidgetFormInputText(),
      'effect4_hop_a'                 => new sfWidgetFormInputText(),
      'effect4_hop_b'                 => new sfWidgetFormInputText(),
      'cost_end'                      => new sfWidgetFormInputText(),
      'effect1_reserved6'             => new sfWidgetFormInputText(),
      'effect1_reserved7'             => new sfWidgetFormInputText(),
      'effect1_reserved8'             => new sfWidgetFormInputText(),
      'effect1_reserved9'             => new sfWidgetFormInputText(),
      'cost_parameter'                => new sfWidgetFormInputText(),
      'desc_prechain_category_name'   => new sfWidgetFormInputText(),
      'chain_category_priority'       => new sfWidgetFormInputText(),
      'chain_category_level'          => new sfWidgetFormInputText(),
      'effect1_noresist'              => new sfWidgetFormInputText(),
      'effect1_target_type'           => new sfWidgetFormInputText(),
      'penalty_type_succ'             => new sfWidgetFormInputText(),
      'effect1_reserved13'            => new sfWidgetFormInputText(),
      'effect1_reserved10'            => new sfWidgetFormInputText(),
      'effect2_type'                  => new sfWidgetFormChoice(array('choices' => array('Activate_Enslave' => 'Activate_Enslave', 'AlwaysBlock' => 'AlwaysBlock', 'AlwaysDodge' => 'AlwaysDodge', 'AlwaysParry' => 'AlwaysParry', 'AlwaysResist' => 'AlwaysResist', 'Amr_Mastery' => 'Amr_Mastery', 'Aura' => 'Aura', 'BackDashATK' => 'BackDashATK', 'Bind' => 'Bind', 'Bleed' => 'Bleed', 'Blind' => 'Blind', 'BoostDropRate' => 'BoostDropRate', 'BoostHate' => 'BoostHate', 'BoostHealEffect' => 'BoostHealEffect', 'BoostSkillCastingTime' => 'BoostSkillCastingTime', 'BoostSkillCost' => 'BoostSkillCost', 'BoostSpellAttackEffect' => 'BoostSpellAttackEffect', 'Cannon' => 'Cannon', 'CarveSignet' => 'CarveSignet', 'ChangeHateOnAttacked' => 'ChangeHateOnAttacked', 'CloseAerial' => 'CloseAerial', 'CondSkillLauncher' => 'CondSkillLauncher', 'Confuse' => 'Confuse', 'ConvertHeal' => 'ConvertHeal', 'Curse' => 'Curse', 'DPHeal' => 'DPHeal', 'DPHeal_Instant' => 'DPHeal_Instant', 'DPTransfer' => 'DPTransfer', 'DashATK' => 'DashATK', 'DeBoostHealAmount' => 'DeBoostHealAmount', 'DeathBlow' => 'DeathBlow', 'DeboostHealAmount' => 'DeboostHealAmount', 'Deform' => 'Deform', 'DelayedFPATK_Instant' => 'DelayedFPATK_Instant', 'DelayedSpellATK_Instant' => 'DelayedSpellATK_Instant', 'Disease' => 'Disease', 'Dispel' => 'Dispel', 'DispelBuff' => 'DispelBuff', 'DispelBuffCounterATK' => 'DispelBuffCounterATK', 'DispelDeBuff' => 'DispelDeBuff', 'DispelDebuff' => 'DispelDebuff', 'DispelDebuffMental' => 'DispelDebuffMental', 'DispelDebuffPhysical' => 'DispelDebuffPhysical', 'DispelNPCDebuff' => 'DispelNPCDebuff', 'DispelNpcBuff' => 'DispelNpcBuff', 'Dummy' => 'Dummy', 'ExtendAuraRange' => 'ExtendAuraRange', 'FPATK' => 'FPATK', 'FPATK_Instant' => 'FPATK_Instant', 'FPHeal' => 'FPHeal', 'FPHeal_Instant' => 'FPHeal_Instant', 'Fall' => 'Fall', 'Fear' => 'Fear', 'FpHeal' => 'FpHeal', 'Heal' => 'Heal', 'HealCastorOnAttacked' => 'HealCastorOnAttacked', 'HealCastorOnTargetDead' => 'HealCastorOnTargetDead', 'Heal_Instant' => 'Heal_Instant', 'Hide' => 'Hide', 'HostileUp' => 'HostileUp', 'InvulnerableWing' => 'InvulnerableWing', 'MPAttack' => 'MPAttack', 'MPAttack_Instant' => 'MPAttack_Instant', 'MPHeal' => 'MPHeal', 'MPHeal_Instant' => 'MPHeal_Instant', 'MagicCounterATK' => 'MagicCounterATK', 'MoveBehindATK' => 'MoveBehindATK', 'NoFly' => 'NoFly', 'OneTimeBoostSkillAttack' => 'OneTimeBoostSkillAttack', 'OneTimeBoostSkillCritical' => 'OneTimeBoostSkillCritical', 'OpenAerial' => 'OpenAerial', 'Paralyze' => 'Paralyze', 'PetOrderUseUltraSkill' => 'PetOrderUseUltraSkill', 'Petrification' => 'Petrification', 'Poison' => 'Poison', 'Polymorph' => 'Polymorph', 'ProcATK_Instant' => 'ProcATK_Instant', 'ProcDPHeal_Instant' => 'ProcDPHeal_Instant', 'ProcFpHeal_Instant' => 'ProcFpHeal_Instant', 'ProcHeal_Instant' => 'ProcHeal_Instant', 'ProcMPHeal_Instant' => 'ProcMPHeal_Instant', 'Protect' => 'Protect', 'Provoker' => 'Provoker', 'Pulled' => 'Pulled', 'RandomMoveLoc' => 'RandomMoveLoc', 'Rebirth' => 'Rebirth', 'Recall_Instant' => 'Recall_Instant', 'Reflector' => 'Reflector', 'Resurrect' => 'Resurrect', 'ResurrectBase' => 'ResurrectBase', 'ResurrectPositional' => 'ResurrectPositional', 'ReturnHome' => 'ReturnHome', 'ReturnPoint' => 'ReturnPoint', 'Root' => 'Root', 'Sanctuary' => 'Sanctuary', 'Search' => 'Search', 'ShapeChange' => 'ShapeChange', 'Shield' => 'Shield', 'ShieldMastery' => 'ShieldMastery', 'Signet' => 'Signet', 'SignetBurst' => 'SignetBurst', 'Silence' => 'Silence', 'Simple_Root' => 'Simple_Root', 'SkillATKDrain_Instant' => 'SkillATKDrain_Instant', 'SkillATK_Instant' => 'SkillATK_Instant', 'SkillLauncher' => 'SkillLauncher', 'Sleep' => 'Sleep', 'Slow' => 'Slow', 'Snare' => 'Snare', 'SpellATK' => 'SpellATK', 'SpellATKDrain' => 'SpellATKDrain', 'SpellATKDrain_Instant' => 'SpellATKDrain_Instant', 'SpellATK_Instant' => 'SpellATK_Instant', 'Spin' => 'Spin', 'Stagger' => 'Stagger', 'StatBoost' => 'StatBoost', 'StatDown' => 'StatDown', 'StatUp' => 'StatUp', 'Stumble' => 'Stumble', 'Stun' => 'Stun', 'SubTypeBoostResist' => 'SubTypeBoostResist', 'SubTypeExtendDuration' => 'SubTypeExtendDuration', 'Summon' => 'Summon', 'SummonBindingGroupGate' => 'SummonBindingGroupGate', 'SummonGroupGate' => 'SummonGroupGate', 'SummonHoming' => 'SummonHoming', 'SummonServant' => 'SummonServant', 'SummonSkillArea' => 'SummonSkillArea', 'SummonTrap' => 'SummonTrap', 'SwitchHPMP_Instant' => 'SwitchHPMP_Instant', 'SwitchHostile' => 'SwitchHostile', 'WeaponStatBoost' => 'WeaponStatBoost', 'WeaponStatUp' => 'WeaponStatUp', 'Wpn_Dual' => 'Wpn_Dual', 'Wpn_Mastery' => 'Wpn_Mastery', 'XPBoost' => 'XPBoost', 'deform' => 'deform', 'nofly' => 'nofly'))),
      'effect2_noresist'              => new sfWidgetFormInputText(),
      'effect2_checkforchain'         => new sfWidgetFormInputText(),
      'effect2_effectid'              => new sfWidgetFormInputText(),
      'effect2_cond_preeffect'        => new sfWidgetFormInputText(),
      'effect2_cond_preeffect_prob1'  => new sfWidgetFormInputText(),
      'effect2_cond_preeffect_prob2'  => new sfWidgetFormInputText(),
      'effect2_reserved2'             => new sfWidgetFormInputText(),
      'effect2_reserved13'            => new sfWidgetFormInputText(),
      'effect3_type'                  => new sfWidgetFormChoice(array('choices' => array('Activate_Enslave' => 'Activate_Enslave', 'AlwaysBlock' => 'AlwaysBlock', 'AlwaysDodge' => 'AlwaysDodge', 'AlwaysParry' => 'AlwaysParry', 'AlwaysResist' => 'AlwaysResist', 'Amr_Mastery' => 'Amr_Mastery', 'Aura' => 'Aura', 'BackDashATK' => 'BackDashATK', 'Bind' => 'Bind', 'Bleed' => 'Bleed', 'Blind' => 'Blind', 'BoostDropRate' => 'BoostDropRate', 'BoostHate' => 'BoostHate', 'BoostHealEffect' => 'BoostHealEffect', 'BoostSkillCastingTime' => 'BoostSkillCastingTime', 'BoostSkillCost' => 'BoostSkillCost', 'BoostSpellAttackEffect' => 'BoostSpellAttackEffect', 'Cannon' => 'Cannon', 'CarveSignet' => 'CarveSignet', 'ChangeHateOnAttacked' => 'ChangeHateOnAttacked', 'CloseAerial' => 'CloseAerial', 'CondSkillLauncher' => 'CondSkillLauncher', 'Confuse' => 'Confuse', 'ConvertHeal' => 'ConvertHeal', 'Curse' => 'Curse', 'DPHeal' => 'DPHeal', 'DPHeal_Instant' => 'DPHeal_Instant', 'DPTransfer' => 'DPTransfer', 'DashATK' => 'DashATK', 'DeBoostHealAmount' => 'DeBoostHealAmount', 'DeathBlow' => 'DeathBlow', 'DeboostHealAmount' => 'DeboostHealAmount', 'Deform' => 'Deform', 'DelayedFPATK_Instant' => 'DelayedFPATK_Instant', 'DelayedSpellATK_Instant' => 'DelayedSpellATK_Instant', 'Disease' => 'Disease', 'Dispel' => 'Dispel', 'DispelBuff' => 'DispelBuff', 'DispelBuffCounterATK' => 'DispelBuffCounterATK', 'DispelDeBuff' => 'DispelDeBuff', 'DispelDebuff' => 'DispelDebuff', 'DispelDebuffMental' => 'DispelDebuffMental', 'DispelDebuffPhysical' => 'DispelDebuffPhysical', 'DispelNPCDebuff' => 'DispelNPCDebuff', 'DispelNpcBuff' => 'DispelNpcBuff', 'Dummy' => 'Dummy', 'ExtendAuraRange' => 'ExtendAuraRange', 'FPATK' => 'FPATK', 'FPATK_Instant' => 'FPATK_Instant', 'FPHeal' => 'FPHeal', 'FPHeal_Instant' => 'FPHeal_Instant', 'Fall' => 'Fall', 'Fear' => 'Fear', 'FpHeal' => 'FpHeal', 'Heal' => 'Heal', 'HealCastorOnAttacked' => 'HealCastorOnAttacked', 'HealCastorOnTargetDead' => 'HealCastorOnTargetDead', 'Heal_Instant' => 'Heal_Instant', 'Hide' => 'Hide', 'HostileUp' => 'HostileUp', 'InvulnerableWing' => 'InvulnerableWing', 'MPAttack' => 'MPAttack', 'MPAttack_Instant' => 'MPAttack_Instant', 'MPHeal' => 'MPHeal', 'MPHeal_Instant' => 'MPHeal_Instant', 'MagicCounterATK' => 'MagicCounterATK', 'MoveBehindATK' => 'MoveBehindATK', 'NoFly' => 'NoFly', 'OneTimeBoostSkillAttack' => 'OneTimeBoostSkillAttack', 'OneTimeBoostSkillCritical' => 'OneTimeBoostSkillCritical', 'OpenAerial' => 'OpenAerial', 'Paralyze' => 'Paralyze', 'PetOrderUseUltraSkill' => 'PetOrderUseUltraSkill', 'Petrification' => 'Petrification', 'Poison' => 'Poison', 'Polymorph' => 'Polymorph', 'ProcATK_Instant' => 'ProcATK_Instant', 'ProcDPHeal_Instant' => 'ProcDPHeal_Instant', 'ProcFpHeal_Instant' => 'ProcFpHeal_Instant', 'ProcHeal_Instant' => 'ProcHeal_Instant', 'ProcMPHeal_Instant' => 'ProcMPHeal_Instant', 'Protect' => 'Protect', 'Provoker' => 'Provoker', 'Pulled' => 'Pulled', 'RandomMoveLoc' => 'RandomMoveLoc', 'Rebirth' => 'Rebirth', 'Recall_Instant' => 'Recall_Instant', 'Reflector' => 'Reflector', 'Resurrect' => 'Resurrect', 'ResurrectBase' => 'ResurrectBase', 'ResurrectPositional' => 'ResurrectPositional', 'ReturnHome' => 'ReturnHome', 'ReturnPoint' => 'ReturnPoint', 'Root' => 'Root', 'Sanctuary' => 'Sanctuary', 'Search' => 'Search', 'ShapeChange' => 'ShapeChange', 'Shield' => 'Shield', 'ShieldMastery' => 'ShieldMastery', 'Signet' => 'Signet', 'SignetBurst' => 'SignetBurst', 'Silence' => 'Silence', 'Simple_Root' => 'Simple_Root', 'SkillATKDrain_Instant' => 'SkillATKDrain_Instant', 'SkillATK_Instant' => 'SkillATK_Instant', 'SkillLauncher' => 'SkillLauncher', 'Sleep' => 'Sleep', 'Slow' => 'Slow', 'Snare' => 'Snare', 'SpellATK' => 'SpellATK', 'SpellATKDrain' => 'SpellATKDrain', 'SpellATKDrain_Instant' => 'SpellATKDrain_Instant', 'SpellATK_Instant' => 'SpellATK_Instant', 'Spin' => 'Spin', 'Stagger' => 'Stagger', 'StatBoost' => 'StatBoost', 'StatDown' => 'StatDown', 'StatUp' => 'StatUp', 'Stumble' => 'Stumble', 'Stun' => 'Stun', 'SubTypeBoostResist' => 'SubTypeBoostResist', 'SubTypeExtendDuration' => 'SubTypeExtendDuration', 'Summon' => 'Summon', 'SummonBindingGroupGate' => 'SummonBindingGroupGate', 'SummonGroupGate' => 'SummonGroupGate', 'SummonHoming' => 'SummonHoming', 'SummonServant' => 'SummonServant', 'SummonSkillArea' => 'SummonSkillArea', 'SummonTrap' => 'SummonTrap', 'SwitchHPMP_Instant' => 'SwitchHPMP_Instant', 'SwitchHostile' => 'SwitchHostile', 'WeaponStatBoost' => 'WeaponStatBoost', 'WeaponStatUp' => 'WeaponStatUp', 'Wpn_Dual' => 'Wpn_Dual', 'Wpn_Mastery' => 'Wpn_Mastery', 'XPBoost' => 'XPBoost', 'deform' => 'deform', 'nofly' => 'nofly'))),
      'effect3_noresist'              => new sfWidgetFormInputText(),
      'effect3_checkforchain'         => new sfWidgetFormInputText(),
      'effect3_effectid'              => new sfWidgetFormInputText(),
      'effect3_cond_preeffect'        => new sfWidgetFormInputText(),
      'effect3_cond_preeffect_prob1'  => new sfWidgetFormInputText(),
      'effect3_cond_preeffect_prob2'  => new sfWidgetFormInputText(),
      'effect3_reserved2'             => new sfWidgetFormInputText(),
      'effect3_reserved13'            => new sfWidgetFormInputText(),
      'effect3_hop_type'              => new sfWidgetFormInputText(),
      'target_stop'                   => new sfWidgetFormInputText(),
      'peace_skill'                   => new sfWidgetFormInputText(),
      'show_weapon'                   => new sfWidgetFormInputText(),
      'effect2_target_type'           => new sfWidgetFormInputText(),
      'effect2_reserved1'             => new sfWidgetFormInputText(),
      'desc_long_2nd'                 => new sfWidgetFormInputText(),
      'desc_abnormal'                 => new sfWidgetFormInputText(),
      'desc_knight'                   => new sfWidgetFormInputText(),
      'chain_category_name'           => new sfWidgetFormInputText(),
      'chain_skill_prob2'             => new sfWidgetFormInputText(),
      'dispel_category'               => new sfWidgetFormInputText(),
      'hostile_type'                  => new sfWidgetFormInputText(),
      'required_sword'                => new sfWidgetFormInputText(),
      'required_mace'                 => new sfWidgetFormInputText(),
      'required_dagger'               => new sfWidgetFormInputText(),
      'required_2hsword'              => new sfWidgetFormInputText(),
      'required_polearm'              => new sfWidgetFormInputText(),
      'required_staff'                => new sfWidgetFormInputText(),
      'delay_type'                    => new sfWidgetFormInputText(),
      'delay_time'                    => new sfWidgetFormInputText(),
      'first_target_valid_distance'   => new sfWidgetFormInputText(),
      'target_range'                  => new sfWidgetFormInputText(),
      'target_species_restriction'    => new sfWidgetFormInputText(),
      'target_relation_restriction'   => new sfWidgetFormInputText(),
      'cancel_rate'                   => new sfWidgetFormInputText(),
      'obstacle'                      => new sfWidgetFormInputText(),
      'add_wpn_range'                 => new sfWidgetFormInputText(),
      'move_casting'                  => new sfWidgetFormInputText(),
      'auto_attack'                   => new sfWidgetFormInputText(),
      'motion_name'                   => new sfWidgetFormInputText(),
      'trail_tex'                     => new sfWidgetFormInputText(),
      'effect1_reserved11'            => new sfWidgetFormInputText(),
      'effect1_reserved15'            => new sfWidgetFormInputText(),
      'effect1_hop_type'              => new sfWidgetFormInputText(),
      'effect2_remain1'               => new sfWidgetFormInputText(),
      'effect2_remain2'               => new sfWidgetFormInputText(),
      'effect2_reserved6'             => new sfWidgetFormInputText(),
      'effect2_reserved10'            => new sfWidgetFormInputText(),
      'effect2_reserved11'            => new sfWidgetFormInputText(),
      'effect2_hop_type'              => new sfWidgetFormInputText(),
      'effect2_hop_a'                 => new sfWidgetFormInputText(),
      'effect2_hop_b'                 => new sfWidgetFormInputText(),
      'effect2_basiclv'               => new sfWidgetFormInputText(),
      'counter_skill'                 => new sfWidgetFormInputText(),
      'required_leftweapon'           => new sfWidgetFormInputText(),
      'effect2_acc_mod2'              => new sfWidgetFormInputText(),
      'instant_skill'                 => new sfWidgetFormInputText(),
      'motion_play_speed'             => new sfWidgetFormInputText(),
      'effect1_reserved12'            => new sfWidgetFormInputText(),
      'effect1_hop_a'                 => new sfWidgetFormInputText(),
      'effect1_hop_b'                 => new sfWidgetFormInputText(),
      'prechain_category_name'        => new sfWidgetFormInputText(),
      'chain_time'                    => new sfWidgetFormInputText(),
      'effect1_remain1'               => new sfWidgetFormInputText(),
      'effect1_remain2'               => new sfWidgetFormInputText(),
      'effect2_reserved7'             => new sfWidgetFormInputText(),
      'effect2_reserved8'             => new sfWidgetFormInputText(),
      'effect2_reserved_cond1'        => new sfWidgetFormInputText(),
      'effect2_reserved_cond1_prob1'  => new sfWidgetFormInputText(),
      'effect2_reserved_cond1_prob2'  => new sfWidgetFormInputText(),
      'self_flying_restriction'       => new sfWidgetFormInputText(),
      'effect2_reserved3'             => new sfWidgetFormInputText(),
      'effect2_reserved4'             => new sfWidgetFormInputText(),
      'effect3_target_type'           => new sfWidgetFormInputText(),
      'effect3_reserved1'             => new sfWidgetFormInputText(),
      'change_stance'                 => new sfWidgetFormInputText(),
      'cost_dp'                       => new sfWidgetFormInputText(),
      'effect1_reserved14'            => new sfWidgetFormInputText(),
      'effect1_reserved16'            => new sfWidgetFormInputText(),
      'effect1_reserved17'            => new sfWidgetFormInputText(),
      'cost_end_lv'                   => new sfWidgetFormInputText(),
      'desc_fighter'                  => new sfWidgetFormInputText(),
      'effect3_remain1'               => new sfWidgetFormInputText(),
      'effect3_remain2'               => new sfWidgetFormInputText(),
      'effect3_reserved6'             => new sfWidgetFormInputText(),
      'effect3_reserved10'            => new sfWidgetFormInputText(),
      'effect3_reserved11'            => new sfWidgetFormInputText(),
      'effect3_basiclv'               => new sfWidgetFormInputText(),
      'effect1_reserved_cond1'        => new sfWidgetFormInputText(),
      'effect1_reserved_cond1_prob1'  => new sfWidgetFormInputText(),
      'effect1_reserved_cond1_prob2'  => new sfWidgetFormInputText(),
      'pvp_damage_ratio'              => new sfWidgetFormInputText(),
      'casting_delay'                 => new sfWidgetFormInputText(),
      'effect1_reserved18'            => new sfWidgetFormInputText(),
      'target_maxcount'               => new sfWidgetFormInputText(),
      'target_range_area_type'        => new sfWidgetFormInputText(),
      'target_range_opt1'             => new sfWidgetFormInputText(),
      'target_range_opt3'             => new sfWidgetFormInputText(),
      'target_valid_status1'          => new sfWidgetFormInputText(),
      'effect4_type'                  => new sfWidgetFormChoice(array('choices' => array('Activate_Enslave' => 'Activate_Enslave', 'AlwaysBlock' => 'AlwaysBlock', 'AlwaysDodge' => 'AlwaysDodge', 'AlwaysParry' => 'AlwaysParry', 'AlwaysResist' => 'AlwaysResist', 'Amr_Mastery' => 'Amr_Mastery', 'Aura' => 'Aura', 'BackDashATK' => 'BackDashATK', 'Bind' => 'Bind', 'Bleed' => 'Bleed', 'Blind' => 'Blind', 'BoostDropRate' => 'BoostDropRate', 'BoostHate' => 'BoostHate', 'BoostHealEffect' => 'BoostHealEffect', 'BoostSkillCastingTime' => 'BoostSkillCastingTime', 'BoostSkillCost' => 'BoostSkillCost', 'BoostSpellAttackEffect' => 'BoostSpellAttackEffect', 'Cannon' => 'Cannon', 'CarveSignet' => 'CarveSignet', 'ChangeHateOnAttacked' => 'ChangeHateOnAttacked', 'CloseAerial' => 'CloseAerial', 'CondSkillLauncher' => 'CondSkillLauncher', 'Confuse' => 'Confuse', 'ConvertHeal' => 'ConvertHeal', 'Curse' => 'Curse', 'DPHeal' => 'DPHeal', 'DPHeal_Instant' => 'DPHeal_Instant', 'DPTransfer' => 'DPTransfer', 'DashATK' => 'DashATK', 'DeBoostHealAmount' => 'DeBoostHealAmount', 'DeathBlow' => 'DeathBlow', 'DeboostHealAmount' => 'DeboostHealAmount', 'Deform' => 'Deform', 'DelayedFPATK_Instant' => 'DelayedFPATK_Instant', 'DelayedSpellATK_Instant' => 'DelayedSpellATK_Instant', 'Disease' => 'Disease', 'Dispel' => 'Dispel', 'DispelBuff' => 'DispelBuff', 'DispelBuffCounterATK' => 'DispelBuffCounterATK', 'DispelDeBuff' => 'DispelDeBuff', 'DispelDebuff' => 'DispelDebuff', 'DispelDebuffMental' => 'DispelDebuffMental', 'DispelDebuffPhysical' => 'DispelDebuffPhysical', 'DispelNPCDebuff' => 'DispelNPCDebuff', 'DispelNpcBuff' => 'DispelNpcBuff', 'Dummy' => 'Dummy', 'ExtendAuraRange' => 'ExtendAuraRange', 'FPATK' => 'FPATK', 'FPATK_Instant' => 'FPATK_Instant', 'FPHeal' => 'FPHeal', 'FPHeal_Instant' => 'FPHeal_Instant', 'Fall' => 'Fall', 'Fear' => 'Fear', 'FpHeal' => 'FpHeal', 'Heal' => 'Heal', 'HealCastorOnAttacked' => 'HealCastorOnAttacked', 'HealCastorOnTargetDead' => 'HealCastorOnTargetDead', 'Heal_Instant' => 'Heal_Instant', 'Hide' => 'Hide', 'HostileUp' => 'HostileUp', 'InvulnerableWing' => 'InvulnerableWing', 'MPAttack' => 'MPAttack', 'MPAttack_Instant' => 'MPAttack_Instant', 'MPHeal' => 'MPHeal', 'MPHeal_Instant' => 'MPHeal_Instant', 'MagicCounterATK' => 'MagicCounterATK', 'MoveBehindATK' => 'MoveBehindATK', 'NoFly' => 'NoFly', 'OneTimeBoostSkillAttack' => 'OneTimeBoostSkillAttack', 'OneTimeBoostSkillCritical' => 'OneTimeBoostSkillCritical', 'OpenAerial' => 'OpenAerial', 'Paralyze' => 'Paralyze', 'PetOrderUseUltraSkill' => 'PetOrderUseUltraSkill', 'Petrification' => 'Petrification', 'Poison' => 'Poison', 'Polymorph' => 'Polymorph', 'ProcATK_Instant' => 'ProcATK_Instant', 'ProcDPHeal_Instant' => 'ProcDPHeal_Instant', 'ProcFpHeal_Instant' => 'ProcFpHeal_Instant', 'ProcHeal_Instant' => 'ProcHeal_Instant', 'ProcMPHeal_Instant' => 'ProcMPHeal_Instant', 'Protect' => 'Protect', 'Provoker' => 'Provoker', 'Pulled' => 'Pulled', 'RandomMoveLoc' => 'RandomMoveLoc', 'Rebirth' => 'Rebirth', 'Recall_Instant' => 'Recall_Instant', 'Reflector' => 'Reflector', 'Resurrect' => 'Resurrect', 'ResurrectBase' => 'ResurrectBase', 'ResurrectPositional' => 'ResurrectPositional', 'ReturnHome' => 'ReturnHome', 'ReturnPoint' => 'ReturnPoint', 'Root' => 'Root', 'Sanctuary' => 'Sanctuary', 'Search' => 'Search', 'ShapeChange' => 'ShapeChange', 'Shield' => 'Shield', 'ShieldMastery' => 'ShieldMastery', 'Signet' => 'Signet', 'SignetBurst' => 'SignetBurst', 'Silence' => 'Silence', 'Simple_Root' => 'Simple_Root', 'SkillATKDrain_Instant' => 'SkillATKDrain_Instant', 'SkillATK_Instant' => 'SkillATK_Instant', 'SkillLauncher' => 'SkillLauncher', 'Sleep' => 'Sleep', 'Slow' => 'Slow', 'Snare' => 'Snare', 'SpellATK' => 'SpellATK', 'SpellATKDrain' => 'SpellATKDrain', 'SpellATKDrain_Instant' => 'SpellATKDrain_Instant', 'SpellATK_Instant' => 'SpellATK_Instant', 'Spin' => 'Spin', 'Stagger' => 'Stagger', 'StatBoost' => 'StatBoost', 'StatDown' => 'StatDown', 'StatUp' => 'StatUp', 'Stumble' => 'Stumble', 'Stun' => 'Stun', 'SubTypeBoostResist' => 'SubTypeBoostResist', 'SubTypeExtendDuration' => 'SubTypeExtendDuration', 'Summon' => 'Summon', 'SummonBindingGroupGate' => 'SummonBindingGroupGate', 'SummonGroupGate' => 'SummonGroupGate', 'SummonHoming' => 'SummonHoming', 'SummonServant' => 'SummonServant', 'SummonSkillArea' => 'SummonSkillArea', 'SummonTrap' => 'SummonTrap', 'SwitchHPMP_Instant' => 'SwitchHPMP_Instant', 'SwitchHostile' => 'SwitchHostile', 'WeaponStatBoost' => 'WeaponStatBoost', 'WeaponStatUp' => 'WeaponStatUp', 'Wpn_Dual' => 'Wpn_Dual', 'Wpn_Mastery' => 'Wpn_Mastery', 'XPBoost' => 'XPBoost', 'deform' => 'deform', 'nofly' => 'nofly'))),
      'effect4_noresist'              => new sfWidgetFormInputText(),
      'effect4_checkforchain'         => new sfWidgetFormInputText(),
      'effect4_effectid'              => new sfWidgetFormInputText(),
      'effect4_target_type'           => new sfWidgetFormInputText(),
      'effect4_cond_preeffect'        => new sfWidgetFormInputText(),
      'effect4_cond_preeffect_prob1'  => new sfWidgetFormInputText(),
      'effect4_cond_preeffect_prob2'  => new sfWidgetFormInputText(),
      'effect4_reserved1'             => new sfWidgetFormInputText(),
      'effect4_reserved2'             => new sfWidgetFormInputText(),
      'effect4_reserved10'            => new sfWidgetFormInputText(),
      'effect4_reserved11'            => new sfWidgetFormInputText(),
      'effect4_reserved13'            => new sfWidgetFormInputText(),
      'target_flying_restriction'     => new sfWidgetFormInputText(),
      'ammo_bone'                     => new sfWidgetFormInputText(),
      'ammo_speed'                    => new sfWidgetFormInputText(),
      'splash'                        => new sfWidgetFormInputText(),
      'effect4_remain1'               => new sfWidgetFormInputText(),
      'effect4_remain2'               => new sfWidgetFormInputText(),
      'effect4_reserved6'             => new sfWidgetFormInputText(),
      'effect4_basiclv'               => new sfWidgetFormInputText(),
      'no_jump_cancel'                => new sfWidgetFormInputText(),
      'revision_distance'             => new sfWidgetFormInputText(),
      'effect1_checktime'             => new sfWidgetFormInputText(),
      'effect2_randomtime'            => new sfWidgetFormInputText(),
      'effect2_checktime'             => new sfWidgetFormInputText(),
      'effect2_reserved9'             => new sfWidgetFormInputText(),
      'effect1_acc_mod2'              => new sfWidgetFormInputText(),
      'effect3_reserved3'             => new sfWidgetFormInputText(),
      'effect3_reserved4'             => new sfWidgetFormInputText(),
      'effect3_reserved9'             => new sfWidgetFormInputText(),
      'remove_at_fly_end'             => new sfWidgetFormInputText(),
      'penalty_skill_succ'            => new sfWidgetFormInputText(),
      'max_maintain_count'            => new sfWidgetFormInputText(),
      'target_slot_level'             => new sfWidgetFormInputText(),
      'effect3_reserved7'             => new sfWidgetFormInputText(),
      'effect3_reserved8'             => new sfWidgetFormInputText(),
      'effect3_reserved_cond1'        => new sfWidgetFormInputText(),
      'effect3_reserved_cond1_prob1'  => new sfWidgetFormInputText(),
      'effect3_reserved_cond1_prob2'  => new sfWidgetFormInputText(),
      'nouse_combat_state'            => new sfWidgetFormInputText(),
      'effect1_randomtime'            => new sfWidgetFormInputText(),
      'component'                     => new sfWidgetFormInputText(),
      'component_count'               => new sfWidgetFormInputText(),
      'component_expendable'          => new sfWidgetFormInputText(),
      'use_arrow_count'               => new sfWidgetFormInputText(),
      'required_bow'                  => new sfWidgetFormInputText(),
      'use_arrow'                     => new sfWidgetFormInputText(),
      'effect3_reserved5'             => new sfWidgetFormInputText(),
      'effect2_reserved5'             => new sfWidgetFormInputText(),
      'motion_mode'                   => new sfWidgetFormInputText(),
      'cast_voice'                    => new sfWidgetFormInputText(),
      'effect2_reserved16'            => new sfWidgetFormInputText(),
      'effect3_reserved16'            => new sfWidgetFormInputText(),
      'effect4_reserved16'            => new sfWidgetFormInputText(),
      'effect2_reserved14'            => new sfWidgetFormInputText(),
      'effect2_reserved15'            => new sfWidgetFormInputText(),
      'effect2_reserved17'            => new sfWidgetFormInputText(),
      'effect3_randomtime'            => new sfWidgetFormInputText(),
      'chain_skill_prob1'             => new sfWidgetFormInputText(),
      'effect2_cond_status'           => new sfWidgetFormInputText(),
      'effect2_cond_status_prob1'     => new sfWidgetFormInputText(),
      'effect2_cond_status_prob2'     => new sfWidgetFormInputText(),
      'clone'                         => new sfWidgetFormInputText(),
      'cost_time'                     => new sfWidgetFormInputText(),
      'cost_toggle'                   => new sfWidgetFormInputText(),
      'cost_checktime_parameter'      => new sfWidgetFormInputText(),
      'cost_checktime_lv'             => new sfWidgetFormInputText(),
      'cost_checktime'                => new sfWidgetFormInputText(),
      'effect2_reserved18'            => new sfWidgetFormInputText(),
      'hit_camera_shake'              => new sfWidgetFormInputText(),
      'cost_start'                    => new sfWidgetFormInputText(),
      'pvp_remain_time_ratio'         => new sfWidgetFormInputText(),
      'status_shader'                 => new sfWidgetFormInputText(),
      'effect3_acc_mod2'              => new sfWidgetFormInputText(),
      'effect4_hop_type'              => new sfWidgetFormInputText(),
      'effect3_checktime'             => new sfWidgetFormInputText(),
      'required_dp_lv'                => new sfWidgetFormInputText(),
      'no_save_on_logout'             => new sfWidgetFormInputText(),
      'required_orb'                  => new sfWidgetFormInputText(),
      'required_book'                 => new sfWidgetFormInputText(),
      'cost_start_lv'                 => new sfWidgetFormInputText(),
      'cost_toggle_lv'                => new sfWidgetFormInputText(),
      'cost_dp_lv'                    => new sfWidgetFormInputText(),
      'effect1_acc_mod1'              => new sfWidgetFormInputText(),
      'pvp_skill_cancel_bonus'        => new sfWidgetFormInputText(),
      'effect4_reserved7'             => new sfWidgetFormInputText(),
      'effect4_reserved8'             => new sfWidgetFormInputText(),
      'effect4_reserved_cond1'        => new sfWidgetFormInputText(),
      'effect4_reserved_cond1_prob1'  => new sfWidgetFormInputText(),
      'effect4_reserved_cond1_prob2'  => new sfWidgetFormInputText(),
      'effect3_reserved14'            => new sfWidgetFormInputText(),
      'effect3_reserved15'            => new sfWidgetFormInputText(),
      'effect3_reserved17'            => new sfWidgetFormInputText(),
      'effect3_reserved18'            => new sfWidgetFormInputText(),
      'effect4_reserved3'             => new sfWidgetFormInputText(),
      'effect4_reserved4'             => new sfWidgetFormInputText(),
      'effect4_reserved14'            => new sfWidgetFormInputText(),
      'effect4_reserved15'            => new sfWidgetFormInputText(),
      'effect4_reserved17'            => new sfWidgetFormInputText(),
      'effect4_reserved18'            => new sfWidgetFormInputText(),
      'effect4_checktime'             => new sfWidgetFormInputText(),
      'effect4_reserved9'             => new sfWidgetFormInputText(),
      'effect2_cond_attack_dir'       => new sfWidgetFormInputText(),
      'effect2_cond_attack_dir_prob1' => new sfWidgetFormInputText(),
      'effect2_cond_attack_dir_prob2' => new sfWidgetFormInputText(),
      'nonchained_delay_time'         => new sfWidgetFormInputText(),
      'prechain_skillname'            => new sfWidgetFormInputText(),
      'broadcast_use_message'         => new sfWidgetFormInputText(),
      'target_range_opt2'             => new sfWidgetFormInputText(),
      'effect4_reserved5'             => new sfWidgetFormInputText(),
      'cast_camera_work'              => new sfWidgetFormInputText(),
      'hit_camera_work'               => new sfWidgetFormInputText(),
      'hit_target_camera_shake'       => new sfWidgetFormInputText(),
      'effect3_cond_attack_dir'       => new sfWidgetFormInputText(),
      'effect3_cond_attack_dir_prob1' => new sfWidgetFormInputText(),
      'effect3_cond_attack_dir_prob2' => new sfWidgetFormInputText(),
      'effect3_cond_status'           => new sfWidgetFormInputText(),
      'effect3_cond_status_prob1'     => new sfWidgetFormInputText(),
      'effect3_cond_status_prob2'     => new sfWidgetFormInputText(),
      'effect2_cond_race_prob2'       => new sfWidgetFormInputText(),
      'effect4_cond_status'           => new sfWidgetFormInputText(),
      'effect4_cond_status_prob1'     => new sfWidgetFormInputText(),
      'effect4_cond_status_prob2'     => new sfWidgetFormInputText(),
      'effect3_cond_race_prob2'       => new sfWidgetFormInputText(),
      'effect2_reserved12'            => new sfWidgetFormInputText(),
      'effect3_reserved12'            => new sfWidgetFormInputText(),
      'effect1_reserved_cond2_prob1'  => new sfWidgetFormInputText(),
      'effect4_reserved12'            => new sfWidgetFormInputText(),
      'max_skill_point'               => new sfWidgetFormInputText(),
    ));

    $this->setValidators(array(
      'id'                            => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
      'name'                          => new sfValidatorString(array('max_length' => 42, 'required' => false)),
      'type'                          => new sfValidatorChoice(array('choices' => array(0 => 'Magical', 1 => 'Physical'), 'required' => false)),
      'sub_type'                      => new sfValidatorChoice(array('choices' => array(0 => 'Attack', 1 => 'Buff', 2 => 'Chant', 3 => 'Debuff', 4 => 'Heal', 5 => 'None', 6 => 'Summon', 7 => 'SummonHorning', 8 => 'SummonTrap'), 'required' => false)),
      'skill_category'                => new sfValidatorChoice(array('choices' => array(0 => 'SKILLCTG_CHAIN_SKILL', 1 => 'SKILLCTG_DEATHBLOW', 2 => 'SKILLCTG_DISPELL', 3 => 'SKILLCTG_DRAIN', 4 => 'SKILLCTG_HEAL', 5 => 'SKILLCTG_MENTAL_DEBUFF', 6 => 'SKILLCTG_NONE', 7 => 'SKILLCTG_PHYSICAL_DEBUFF', 8 => 'SKILLCTG_REBIRTH'), 'required' => false)),
      'ultra_skill'                   => new sfValidatorBoolean(array('required' => false)),
      'ultra_transfer'                => new sfValidatorBoolean(array('required' => false)),
      'skillicon_name'                => new sfValidatorString(array('max_length' => 47, 'required' => false)),
      'delay_id'                      => new sfValidatorInteger(array('required' => false)),
      'activation_attribute'          => new sfValidatorChoice(array('choices' => array(0 => 'Active', 1 => 'Maintain', 2 => 'Passive', 3 => 'Provoked', 4 => 'Toogle'), 'required' => false)),
      'target_slot'                   => new sfValidatorChoice(array('choices' => array(0 => 'Boost', 1 => 'buff', 2 => 'Chant', 3 => 'Debuff', 4 => 'None', 5 => 'NoShow', 6 => 'Special', 7 => 'special2'), 'required' => false)),
      'first_target'                  => new sfValidatorChoice(array('choices' => array(0 => 'Me', 1 => 'MyPet', 2 => 'Point', 3 => 'Target', 4 => 'TargetorMe', 5 => 'Target_MyParty_NonVisible'), 'required' => false)),
      'target_marker_radius'          => new sfValidatorInteger(array('required' => false)),
      'effect1_type'                  => new sfValidatorChoice(array('choices' => array(0 => 'Activate_Enslave', 1 => 'AlwaysBlock', 2 => 'AlwaysDodge', 3 => 'AlwaysParry', 4 => 'AlwaysResist', 5 => 'Amr_Mastery', 6 => 'Aura', 7 => 'BackDashATK', 8 => 'Bind', 9 => 'Bleed', 10 => 'Blind', 11 => 'BoostDropRate', 12 => 'BoostHate', 13 => 'BoostHealEffect', 14 => 'BoostSkillCastingTime', 15 => 'BoostSkillCost', 16 => 'BoostSpellAttackEffect', 17 => 'Cannon', 18 => 'CarveSignet', 19 => 'ChangeHateOnAttacked', 20 => 'CloseAerial', 21 => 'CondSkillLauncher', 22 => 'Confuse', 23 => 'ConvertHeal', 24 => 'Curse', 25 => 'DPHeal', 26 => 'DPHeal_Instant', 27 => 'DPTransfer', 28 => 'DashATK', 29 => 'DeBoostHealAmount', 30 => 'DeathBlow', 31 => 'DeboostHealAmount', 32 => 'Deform', 33 => 'DelayedFPATK_Instant', 34 => 'DelayedSpellATK_Instant', 35 => 'Disease', 36 => 'Dispel', 37 => 'DispelBuff', 38 => 'DispelBuffCounterATK', 39 => 'DispelDeBuff', 40 => 'DispelDebuff', 41 => 'DispelDebuffMental', 42 => 'DispelDebuffPhysical', 43 => 'DispelNPCDebuff', 44 => 'DispelNpcBuff', 45 => 'Dummy', 46 => 'ExtendAuraRange', 47 => 'FPATK', 48 => 'FPATK_Instant', 49 => 'FPHeal', 50 => 'FPHeal_Instant', 51 => 'Fall', 52 => 'Fear', 53 => 'FpHeal', 54 => 'Heal', 55 => 'HealCastorOnAttacked', 56 => 'HealCastorOnTargetDead', 57 => 'Heal_Instant', 58 => 'Hide', 59 => 'HostileUp', 60 => 'InvulnerableWing', 61 => 'MPAttack', 62 => 'MPAttack_Instant', 63 => 'MPHeal', 64 => 'MPHeal_Instant', 65 => 'MagicCounterATK', 66 => 'MoveBehindATK', 67 => 'NoFly', 68 => 'OneTimeBoostSkillAttack', 69 => 'OneTimeBoostSkillCritical', 70 => 'OpenAerial', 71 => 'Paralyze', 72 => 'PetOrderUseUltraSkill', 73 => 'Petrification', 74 => 'Poison', 75 => 'Polymorph', 76 => 'ProcATK_Instant', 77 => 'ProcDPHeal_Instant', 78 => 'ProcFpHeal_Instant', 79 => 'ProcHeal_Instant', 80 => 'ProcMPHeal_Instant', 81 => 'Protect', 82 => 'Provoker', 83 => 'Pulled', 84 => 'RandomMoveLoc', 85 => 'Rebirth', 86 => 'Recall_Instant', 87 => 'Reflector', 88 => 'Resurrect', 89 => 'ResurrectBase', 90 => 'ResurrectPositional', 91 => 'ReturnHome', 92 => 'ReturnPoint', 93 => 'Root', 94 => 'Sanctuary', 95 => 'Search', 96 => 'ShapeChange', 97 => 'Shield', 98 => 'ShieldMastery', 99 => 'Signet', 100 => 'SignetBurst', 101 => 'Silence', 102 => 'Simple_Root', 103 => 'SkillATKDrain_Instant', 104 => 'SkillATK_Instant', 105 => 'SkillLauncher', 106 => 'Sleep', 107 => 'Slow', 108 => 'Snare', 109 => 'SpellATK', 110 => 'SpellATKDrain', 111 => 'SpellATKDrain_Instant', 112 => 'SpellATK_Instant', 113 => 'Spin', 114 => 'Stagger', 115 => 'StatBoost', 116 => 'StatDown', 117 => 'StatUp', 118 => 'Stumble', 119 => 'Stun', 120 => 'SubTypeBoostResist', 121 => 'SubTypeExtendDuration', 122 => 'Summon', 123 => 'SummonBindingGroupGate', 124 => 'SummonGroupGate', 125 => 'SummonHoming', 126 => 'SummonServant', 127 => 'SummonSkillArea', 128 => 'SummonTrap', 129 => 'SwitchHPMP_Instant', 130 => 'SwitchHostile', 131 => 'WeaponStatBoost', 132 => 'WeaponStatUp', 133 => 'Wpn_Dual', 134 => 'Wpn_Mastery', 135 => 'XPBoost', 136 => 'deform', 137 => 'nofly'), 'required' => false)),
      'effect1_effectid'              => new sfValidatorInteger(array('required' => false)),
      'effect1_basiclv'               => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved1'             => new sfValidatorString(array('max_length' => 39, 'required' => false)),
      'effect1_reserved2'             => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect1_reserved3'             => new sfValidatorString(array('max_length' => 41, 'required' => false)),
      'effect1_reserved4'             => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect1_reserved5'             => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect3_hop_a'                 => new sfValidatorInteger(array('required' => false)),
      'effect3_hop_b'                 => new sfValidatorInteger(array('required' => false)),
      'effect4_hop_a'                 => new sfValidatorInteger(array('required' => false)),
      'effect4_hop_b'                 => new sfValidatorInteger(array('required' => false)),
      'cost_end'                      => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved6'             => new sfValidatorString(array('max_length' => 22, 'required' => false)),
      'effect1_reserved7'             => new sfValidatorString(array('max_length' => 15, 'required' => false)),
      'effect1_reserved8'             => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved9'             => new sfValidatorString(array('max_length' => 41, 'required' => false)),
      'cost_parameter'                => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'desc_prechain_category_name'   => new sfValidatorString(array('max_length' => 35, 'required' => false)),
      'chain_category_priority'       => new sfValidatorString(array('max_length' => 33, 'required' => false)),
      'chain_category_level'          => new sfValidatorInteger(array('required' => false)),
      'effect1_noresist'              => new sfValidatorInteger(array('required' => false)),
      'effect1_target_type'           => new sfValidatorString(array('max_length' => 12, 'required' => false)),
      'penalty_type_succ'             => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved13'            => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect1_reserved10'            => new sfValidatorString(array('max_length' => 11, 'required' => false)),
      'effect2_type'                  => new sfValidatorChoice(array('choices' => array(0 => 'Activate_Enslave', 1 => 'AlwaysBlock', 2 => 'AlwaysDodge', 3 => 'AlwaysParry', 4 => 'AlwaysResist', 5 => 'Amr_Mastery', 6 => 'Aura', 7 => 'BackDashATK', 8 => 'Bind', 9 => 'Bleed', 10 => 'Blind', 11 => 'BoostDropRate', 12 => 'BoostHate', 13 => 'BoostHealEffect', 14 => 'BoostSkillCastingTime', 15 => 'BoostSkillCost', 16 => 'BoostSpellAttackEffect', 17 => 'Cannon', 18 => 'CarveSignet', 19 => 'ChangeHateOnAttacked', 20 => 'CloseAerial', 21 => 'CondSkillLauncher', 22 => 'Confuse', 23 => 'ConvertHeal', 24 => 'Curse', 25 => 'DPHeal', 26 => 'DPHeal_Instant', 27 => 'DPTransfer', 28 => 'DashATK', 29 => 'DeBoostHealAmount', 30 => 'DeathBlow', 31 => 'DeboostHealAmount', 32 => 'Deform', 33 => 'DelayedFPATK_Instant', 34 => 'DelayedSpellATK_Instant', 35 => 'Disease', 36 => 'Dispel', 37 => 'DispelBuff', 38 => 'DispelBuffCounterATK', 39 => 'DispelDeBuff', 40 => 'DispelDebuff', 41 => 'DispelDebuffMental', 42 => 'DispelDebuffPhysical', 43 => 'DispelNPCDebuff', 44 => 'DispelNpcBuff', 45 => 'Dummy', 46 => 'ExtendAuraRange', 47 => 'FPATK', 48 => 'FPATK_Instant', 49 => 'FPHeal', 50 => 'FPHeal_Instant', 51 => 'Fall', 52 => 'Fear', 53 => 'FpHeal', 54 => 'Heal', 55 => 'HealCastorOnAttacked', 56 => 'HealCastorOnTargetDead', 57 => 'Heal_Instant', 58 => 'Hide', 59 => 'HostileUp', 60 => 'InvulnerableWing', 61 => 'MPAttack', 62 => 'MPAttack_Instant', 63 => 'MPHeal', 64 => 'MPHeal_Instant', 65 => 'MagicCounterATK', 66 => 'MoveBehindATK', 67 => 'NoFly', 68 => 'OneTimeBoostSkillAttack', 69 => 'OneTimeBoostSkillCritical', 70 => 'OpenAerial', 71 => 'Paralyze', 72 => 'PetOrderUseUltraSkill', 73 => 'Petrification', 74 => 'Poison', 75 => 'Polymorph', 76 => 'ProcATK_Instant', 77 => 'ProcDPHeal_Instant', 78 => 'ProcFpHeal_Instant', 79 => 'ProcHeal_Instant', 80 => 'ProcMPHeal_Instant', 81 => 'Protect', 82 => 'Provoker', 83 => 'Pulled', 84 => 'RandomMoveLoc', 85 => 'Rebirth', 86 => 'Recall_Instant', 87 => 'Reflector', 88 => 'Resurrect', 89 => 'ResurrectBase', 90 => 'ResurrectPositional', 91 => 'ReturnHome', 92 => 'ReturnPoint', 93 => 'Root', 94 => 'Sanctuary', 95 => 'Search', 96 => 'ShapeChange', 97 => 'Shield', 98 => 'ShieldMastery', 99 => 'Signet', 100 => 'SignetBurst', 101 => 'Silence', 102 => 'Simple_Root', 103 => 'SkillATKDrain_Instant', 104 => 'SkillATK_Instant', 105 => 'SkillLauncher', 106 => 'Sleep', 107 => 'Slow', 108 => 'Snare', 109 => 'SpellATK', 110 => 'SpellATKDrain', 111 => 'SpellATKDrain_Instant', 112 => 'SpellATK_Instant', 113 => 'Spin', 114 => 'Stagger', 115 => 'StatBoost', 116 => 'StatDown', 117 => 'StatUp', 118 => 'Stumble', 119 => 'Stun', 120 => 'SubTypeBoostResist', 121 => 'SubTypeExtendDuration', 122 => 'Summon', 123 => 'SummonBindingGroupGate', 124 => 'SummonGroupGate', 125 => 'SummonHoming', 126 => 'SummonServant', 127 => 'SummonSkillArea', 128 => 'SummonTrap', 129 => 'SwitchHPMP_Instant', 130 => 'SwitchHostile', 131 => 'WeaponStatBoost', 132 => 'WeaponStatUp', 133 => 'Wpn_Dual', 134 => 'Wpn_Mastery', 135 => 'XPBoost', 136 => 'deform', 137 => 'nofly'), 'required' => false)),
      'effect2_noresist'              => new sfValidatorInteger(array('required' => false)),
      'effect2_checkforchain'         => new sfValidatorInteger(array('required' => false)),
      'effect2_effectid'              => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_preeffect'        => new sfValidatorString(array('max_length' => 3, 'required' => false)),
      'effect2_cond_preeffect_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_preeffect_prob2'  => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved2'             => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect2_reserved13'            => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect3_type'                  => new sfValidatorChoice(array('choices' => array(0 => 'Activate_Enslave', 1 => 'AlwaysBlock', 2 => 'AlwaysDodge', 3 => 'AlwaysParry', 4 => 'AlwaysResist', 5 => 'Amr_Mastery', 6 => 'Aura', 7 => 'BackDashATK', 8 => 'Bind', 9 => 'Bleed', 10 => 'Blind', 11 => 'BoostDropRate', 12 => 'BoostHate', 13 => 'BoostHealEffect', 14 => 'BoostSkillCastingTime', 15 => 'BoostSkillCost', 16 => 'BoostSpellAttackEffect', 17 => 'Cannon', 18 => 'CarveSignet', 19 => 'ChangeHateOnAttacked', 20 => 'CloseAerial', 21 => 'CondSkillLauncher', 22 => 'Confuse', 23 => 'ConvertHeal', 24 => 'Curse', 25 => 'DPHeal', 26 => 'DPHeal_Instant', 27 => 'DPTransfer', 28 => 'DashATK', 29 => 'DeBoostHealAmount', 30 => 'DeathBlow', 31 => 'DeboostHealAmount', 32 => 'Deform', 33 => 'DelayedFPATK_Instant', 34 => 'DelayedSpellATK_Instant', 35 => 'Disease', 36 => 'Dispel', 37 => 'DispelBuff', 38 => 'DispelBuffCounterATK', 39 => 'DispelDeBuff', 40 => 'DispelDebuff', 41 => 'DispelDebuffMental', 42 => 'DispelDebuffPhysical', 43 => 'DispelNPCDebuff', 44 => 'DispelNpcBuff', 45 => 'Dummy', 46 => 'ExtendAuraRange', 47 => 'FPATK', 48 => 'FPATK_Instant', 49 => 'FPHeal', 50 => 'FPHeal_Instant', 51 => 'Fall', 52 => 'Fear', 53 => 'FpHeal', 54 => 'Heal', 55 => 'HealCastorOnAttacked', 56 => 'HealCastorOnTargetDead', 57 => 'Heal_Instant', 58 => 'Hide', 59 => 'HostileUp', 60 => 'InvulnerableWing', 61 => 'MPAttack', 62 => 'MPAttack_Instant', 63 => 'MPHeal', 64 => 'MPHeal_Instant', 65 => 'MagicCounterATK', 66 => 'MoveBehindATK', 67 => 'NoFly', 68 => 'OneTimeBoostSkillAttack', 69 => 'OneTimeBoostSkillCritical', 70 => 'OpenAerial', 71 => 'Paralyze', 72 => 'PetOrderUseUltraSkill', 73 => 'Petrification', 74 => 'Poison', 75 => 'Polymorph', 76 => 'ProcATK_Instant', 77 => 'ProcDPHeal_Instant', 78 => 'ProcFpHeal_Instant', 79 => 'ProcHeal_Instant', 80 => 'ProcMPHeal_Instant', 81 => 'Protect', 82 => 'Provoker', 83 => 'Pulled', 84 => 'RandomMoveLoc', 85 => 'Rebirth', 86 => 'Recall_Instant', 87 => 'Reflector', 88 => 'Resurrect', 89 => 'ResurrectBase', 90 => 'ResurrectPositional', 91 => 'ReturnHome', 92 => 'ReturnPoint', 93 => 'Root', 94 => 'Sanctuary', 95 => 'Search', 96 => 'ShapeChange', 97 => 'Shield', 98 => 'ShieldMastery', 99 => 'Signet', 100 => 'SignetBurst', 101 => 'Silence', 102 => 'Simple_Root', 103 => 'SkillATKDrain_Instant', 104 => 'SkillATK_Instant', 105 => 'SkillLauncher', 106 => 'Sleep', 107 => 'Slow', 108 => 'Snare', 109 => 'SpellATK', 110 => 'SpellATKDrain', 111 => 'SpellATKDrain_Instant', 112 => 'SpellATK_Instant', 113 => 'Spin', 114 => 'Stagger', 115 => 'StatBoost', 116 => 'StatDown', 117 => 'StatUp', 118 => 'Stumble', 119 => 'Stun', 120 => 'SubTypeBoostResist', 121 => 'SubTypeExtendDuration', 122 => 'Summon', 123 => 'SummonBindingGroupGate', 124 => 'SummonGroupGate', 125 => 'SummonHoming', 126 => 'SummonServant', 127 => 'SummonSkillArea', 128 => 'SummonTrap', 129 => 'SwitchHPMP_Instant', 130 => 'SwitchHostile', 131 => 'WeaponStatBoost', 132 => 'WeaponStatUp', 133 => 'Wpn_Dual', 134 => 'Wpn_Mastery', 135 => 'XPBoost', 136 => 'deform', 137 => 'nofly'), 'required' => false)),
      'effect3_noresist'              => new sfValidatorInteger(array('required' => false)),
      'effect3_checkforchain'         => new sfValidatorInteger(array('required' => false)),
      'effect3_effectid'              => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_preeffect'        => new sfValidatorString(array('max_length' => 5, 'required' => false)),
      'effect3_cond_preeffect_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_preeffect_prob2'  => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved2'             => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved13'            => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'effect3_hop_type'              => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'target_stop'                   => new sfValidatorInteger(array('required' => false)),
      'peace_skill'                   => new sfValidatorInteger(array('required' => false)),
      'show_weapon'                   => new sfValidatorInteger(array('required' => false)),
      'effect2_target_type'           => new sfValidatorString(array('max_length' => 12, 'required' => false)),
      'effect2_reserved1'             => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'desc_long_2nd'                 => new sfValidatorString(array('max_length' => 39, 'required' => false)),
      'desc_abnormal'                 => new sfValidatorString(array('max_length' => 65, 'required' => false)),
      'desc_knight'                   => new sfValidatorInteger(array('required' => false)),
      'chain_category_name'           => new sfValidatorString(array('max_length' => 19, 'required' => false)),
      'chain_skill_prob2'             => new sfValidatorInteger(array('required' => false)),
      'dispel_category'               => new sfValidatorString(array('max_length' => 14, 'required' => false)),
      'hostile_type'                  => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'required_sword'                => new sfValidatorInteger(array('required' => false)),
      'required_mace'                 => new sfValidatorInteger(array('required' => false)),
      'required_dagger'               => new sfValidatorInteger(array('required' => false)),
      'required_2hsword'              => new sfValidatorInteger(array('required' => false)),
      'required_polearm'              => new sfValidatorInteger(array('required' => false)),
      'required_staff'                => new sfValidatorInteger(array('required' => false)),
      'delay_type'                    => new sfValidatorInteger(array('required' => false)),
      'delay_time'                    => new sfValidatorInteger(array('required' => false)),
      'first_target_valid_distance'   => new sfValidatorInteger(array('required' => false)),
      'target_range'                  => new sfValidatorString(array('max_length' => 14, 'required' => false)),
      'target_species_restriction'    => new sfValidatorString(array('max_length' => 4, 'required' => false)),
      'target_relation_restriction'   => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'cancel_rate'                   => new sfValidatorInteger(array('required' => false)),
      'obstacle'                      => new sfValidatorInteger(array('required' => false)),
      'add_wpn_range'                 => new sfValidatorInteger(array('required' => false)),
      'move_casting'                  => new sfValidatorInteger(array('required' => false)),
      'auto_attack'                   => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'motion_name'                   => new sfValidatorString(array('max_length' => 14, 'required' => false)),
      'trail_tex'                     => new sfValidatorString(array('max_length' => 18, 'required' => false)),
      'effect1_reserved11'            => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved15'            => new sfValidatorString(array('max_length' => 32, 'required' => false)),
      'effect1_hop_type'              => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'effect2_remain1'               => new sfValidatorInteger(array('required' => false)),
      'effect2_remain2'               => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved6'             => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved10'            => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect2_reserved11'            => new sfValidatorInteger(array('required' => false)),
      'effect2_hop_type'              => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'effect2_hop_a'                 => new sfValidatorInteger(array('required' => false)),
      'effect2_hop_b'                 => new sfValidatorInteger(array('required' => false)),
      'effect2_basiclv'               => new sfValidatorInteger(array('required' => false)),
      'counter_skill'                 => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'required_leftweapon'           => new sfValidatorString(array('max_length' => 7, 'required' => false)),
      'effect2_acc_mod2'              => new sfValidatorInteger(array('required' => false)),
      'instant_skill'                 => new sfValidatorInteger(array('required' => false)),
      'motion_play_speed'             => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved12'            => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'effect1_hop_a'                 => new sfValidatorInteger(array('required' => false)),
      'effect1_hop_b'                 => new sfValidatorInteger(array('required' => false)),
      'prechain_category_name'        => new sfValidatorString(array('max_length' => 17, 'required' => false)),
      'chain_time'                    => new sfValidatorInteger(array('required' => false)),
      'effect1_remain1'               => new sfValidatorInteger(array('required' => false)),
      'effect1_remain2'               => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved7'             => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved8'             => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved_cond1'        => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'effect2_reserved_cond1_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved_cond1_prob2'  => new sfValidatorInteger(array('required' => false)),
      'self_flying_restriction'       => new sfValidatorString(array('max_length' => 7, 'required' => false)),
      'effect2_reserved3'             => new sfValidatorString(array('max_length' => 13, 'required' => false)),
      'effect2_reserved4'             => new sfValidatorInteger(array('required' => false)),
      'effect3_target_type'           => new sfValidatorString(array('max_length' => 12, 'required' => false)),
      'effect3_reserved1'             => new sfValidatorInteger(array('required' => false)),
      'change_stance'                 => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'cost_dp'                       => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved14'            => new sfValidatorString(array('max_length' => 13, 'required' => false)),
      'effect1_reserved16'            => new sfValidatorString(array('max_length' => 79, 'required' => false)),
      'effect1_reserved17'            => new sfValidatorString(array('max_length' => 38, 'required' => false)),
      'cost_end_lv'                   => new sfValidatorInteger(array('required' => false)),
      'desc_fighter'                  => new sfValidatorInteger(array('required' => false)),
      'effect3_remain1'               => new sfValidatorInteger(array('required' => false)),
      'effect3_remain2'               => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved6'             => new sfValidatorString(array('max_length' => 17, 'required' => false)),
      'effect3_reserved10'            => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect3_reserved11'            => new sfValidatorInteger(array('required' => false)),
      'effect3_basiclv'               => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved_cond1'        => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'effect1_reserved_cond1_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved_cond1_prob2'  => new sfValidatorInteger(array('required' => false)),
      'pvp_damage_ratio'              => new sfValidatorInteger(array('required' => false)),
      'casting_delay'                 => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved18'            => new sfValidatorString(array('max_length' => 18, 'required' => false)),
      'target_maxcount'               => new sfValidatorInteger(array('required' => false)),
      'target_range_area_type'        => new sfValidatorString(array('max_length' => 10, 'required' => false)),
      'target_range_opt1'             => new sfValidatorInteger(array('required' => false)),
      'target_range_opt3'             => new sfValidatorInteger(array('required' => false)),
      'target_valid_status1'          => new sfValidatorString(array('max_length' => 11, 'required' => false)),
      'effect4_type'                  => new sfValidatorChoice(array('choices' => array(0 => 'Activate_Enslave', 1 => 'AlwaysBlock', 2 => 'AlwaysDodge', 3 => 'AlwaysParry', 4 => 'AlwaysResist', 5 => 'Amr_Mastery', 6 => 'Aura', 7 => 'BackDashATK', 8 => 'Bind', 9 => 'Bleed', 10 => 'Blind', 11 => 'BoostDropRate', 12 => 'BoostHate', 13 => 'BoostHealEffect', 14 => 'BoostSkillCastingTime', 15 => 'BoostSkillCost', 16 => 'BoostSpellAttackEffect', 17 => 'Cannon', 18 => 'CarveSignet', 19 => 'ChangeHateOnAttacked', 20 => 'CloseAerial', 21 => 'CondSkillLauncher', 22 => 'Confuse', 23 => 'ConvertHeal', 24 => 'Curse', 25 => 'DPHeal', 26 => 'DPHeal_Instant', 27 => 'DPTransfer', 28 => 'DashATK', 29 => 'DeBoostHealAmount', 30 => 'DeathBlow', 31 => 'DeboostHealAmount', 32 => 'Deform', 33 => 'DelayedFPATK_Instant', 34 => 'DelayedSpellATK_Instant', 35 => 'Disease', 36 => 'Dispel', 37 => 'DispelBuff', 38 => 'DispelBuffCounterATK', 39 => 'DispelDeBuff', 40 => 'DispelDebuff', 41 => 'DispelDebuffMental', 42 => 'DispelDebuffPhysical', 43 => 'DispelNPCDebuff', 44 => 'DispelNpcBuff', 45 => 'Dummy', 46 => 'ExtendAuraRange', 47 => 'FPATK', 48 => 'FPATK_Instant', 49 => 'FPHeal', 50 => 'FPHeal_Instant', 51 => 'Fall', 52 => 'Fear', 53 => 'FpHeal', 54 => 'Heal', 55 => 'HealCastorOnAttacked', 56 => 'HealCastorOnTargetDead', 57 => 'Heal_Instant', 58 => 'Hide', 59 => 'HostileUp', 60 => 'InvulnerableWing', 61 => 'MPAttack', 62 => 'MPAttack_Instant', 63 => 'MPHeal', 64 => 'MPHeal_Instant', 65 => 'MagicCounterATK', 66 => 'MoveBehindATK', 67 => 'NoFly', 68 => 'OneTimeBoostSkillAttack', 69 => 'OneTimeBoostSkillCritical', 70 => 'OpenAerial', 71 => 'Paralyze', 72 => 'PetOrderUseUltraSkill', 73 => 'Petrification', 74 => 'Poison', 75 => 'Polymorph', 76 => 'ProcATK_Instant', 77 => 'ProcDPHeal_Instant', 78 => 'ProcFpHeal_Instant', 79 => 'ProcHeal_Instant', 80 => 'ProcMPHeal_Instant', 81 => 'Protect', 82 => 'Provoker', 83 => 'Pulled', 84 => 'RandomMoveLoc', 85 => 'Rebirth', 86 => 'Recall_Instant', 87 => 'Reflector', 88 => 'Resurrect', 89 => 'ResurrectBase', 90 => 'ResurrectPositional', 91 => 'ReturnHome', 92 => 'ReturnPoint', 93 => 'Root', 94 => 'Sanctuary', 95 => 'Search', 96 => 'ShapeChange', 97 => 'Shield', 98 => 'ShieldMastery', 99 => 'Signet', 100 => 'SignetBurst', 101 => 'Silence', 102 => 'Simple_Root', 103 => 'SkillATKDrain_Instant', 104 => 'SkillATK_Instant', 105 => 'SkillLauncher', 106 => 'Sleep', 107 => 'Slow', 108 => 'Snare', 109 => 'SpellATK', 110 => 'SpellATKDrain', 111 => 'SpellATKDrain_Instant', 112 => 'SpellATK_Instant', 113 => 'Spin', 114 => 'Stagger', 115 => 'StatBoost', 116 => 'StatDown', 117 => 'StatUp', 118 => 'Stumble', 119 => 'Stun', 120 => 'SubTypeBoostResist', 121 => 'SubTypeExtendDuration', 122 => 'Summon', 123 => 'SummonBindingGroupGate', 124 => 'SummonGroupGate', 125 => 'SummonHoming', 126 => 'SummonServant', 127 => 'SummonSkillArea', 128 => 'SummonTrap', 129 => 'SwitchHPMP_Instant', 130 => 'SwitchHostile', 131 => 'WeaponStatBoost', 132 => 'WeaponStatUp', 133 => 'Wpn_Dual', 134 => 'Wpn_Mastery', 135 => 'XPBoost', 136 => 'deform', 137 => 'nofly'), 'required' => false)),
      'effect4_noresist'              => new sfValidatorInteger(array('required' => false)),
      'effect4_checkforchain'         => new sfValidatorInteger(array('required' => false)),
      'effect4_effectid'              => new sfValidatorInteger(array('required' => false)),
      'effect4_target_type'           => new sfValidatorString(array('max_length' => 12, 'required' => false)),
      'effect4_cond_preeffect'        => new sfValidatorString(array('max_length' => 7, 'required' => false)),
      'effect4_cond_preeffect_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect4_cond_preeffect_prob2'  => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved1'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved2'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved10'            => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect4_reserved11'            => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved13'            => new sfValidatorString(array('max_length' => 21, 'required' => false)),
      'target_flying_restriction'     => new sfValidatorString(array('max_length' => 7, 'required' => false)),
      'ammo_bone'                     => new sfValidatorString(array('max_length' => 17, 'required' => false)),
      'ammo_speed'                    => new sfValidatorInteger(array('required' => false)),
      'splash'                        => new sfValidatorInteger(array('required' => false)),
      'effect4_remain1'               => new sfValidatorInteger(array('required' => false)),
      'effect4_remain2'               => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved6'             => new sfValidatorInteger(array('required' => false)),
      'effect4_basiclv'               => new sfValidatorInteger(array('required' => false)),
      'no_jump_cancel'                => new sfValidatorInteger(array('required' => false)),
      'revision_distance'             => new sfValidatorInteger(array('required' => false)),
      'effect1_checktime'             => new sfValidatorInteger(array('required' => false)),
      'effect2_randomtime'            => new sfValidatorInteger(array('required' => false)),
      'effect2_checktime'             => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved9'             => new sfValidatorString(array('max_length' => 38, 'required' => false)),
      'effect1_acc_mod2'              => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved3'             => new sfValidatorString(array('max_length' => 5, 'required' => false)),
      'effect3_reserved4'             => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved9'             => new sfValidatorString(array('max_length' => 28, 'required' => false)),
      'remove_at_fly_end'             => new sfValidatorInteger(array('required' => false)),
      'penalty_skill_succ'            => new sfValidatorString(array('max_length' => 31, 'required' => false)),
      'max_maintain_count'            => new sfValidatorInteger(array('required' => false)),
      'target_slot_level'             => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved7'             => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved8'             => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved_cond1'        => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect3_reserved_cond1_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved_cond1_prob2'  => new sfValidatorInteger(array('required' => false)),
      'nouse_combat_state'            => new sfValidatorInteger(array('required' => false)),
      'effect1_randomtime'            => new sfValidatorInteger(array('required' => false)),
      'component'                     => new sfValidatorString(array('max_length' => 26, 'required' => false)),
      'component_count'               => new sfValidatorInteger(array('required' => false)),
      'component_expendable'          => new sfValidatorInteger(array('required' => false)),
      'use_arrow_count'               => new sfValidatorInteger(array('required' => false)),
      'required_bow'                  => new sfValidatorInteger(array('required' => false)),
      'use_arrow'                     => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved5'             => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect2_reserved5'             => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'motion_mode'                   => new sfValidatorString(array('max_length' => 17, 'required' => false)),
      'cast_voice'                    => new sfValidatorString(array('max_length' => 18, 'required' => false)),
      'effect2_reserved16'            => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved16'            => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved16'            => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved14'            => new sfValidatorString(array('max_length' => 19, 'required' => false)),
      'effect2_reserved15'            => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved17'            => new sfValidatorString(array('max_length' => 36, 'required' => false)),
      'effect3_randomtime'            => new sfValidatorInteger(array('required' => false)),
      'chain_skill_prob1'             => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_status'           => new sfValidatorString(array('max_length' => 11, 'required' => false)),
      'effect2_cond_status_prob1'     => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_status_prob2'     => new sfValidatorInteger(array('required' => false)),
      'clone'                         => new sfValidatorInteger(array('required' => false)),
      'cost_time'                     => new sfValidatorInteger(array('required' => false)),
      'cost_toggle'                   => new sfValidatorInteger(array('required' => false)),
      'cost_checktime_parameter'      => new sfValidatorString(array('max_length' => 3, 'required' => false)),
      'cost_checktime_lv'             => new sfValidatorInteger(array('required' => false)),
      'cost_checktime'                => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved18'            => new sfValidatorString(array('max_length' => 12, 'required' => false)),
      'hit_camera_shake'              => new sfValidatorNumber(array('required' => false)),
      'cost_start'                    => new sfValidatorInteger(array('required' => false)),
      'pvp_remain_time_ratio'         => new sfValidatorInteger(array('required' => false)),
      'status_shader'                 => new sfValidatorString(array('max_length' => 32, 'required' => false)),
      'effect3_acc_mod2'              => new sfValidatorInteger(array('required' => false)),
      'effect4_hop_type'              => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'effect3_checktime'             => new sfValidatorInteger(array('required' => false)),
      'required_dp_lv'                => new sfValidatorInteger(array('required' => false)),
      'no_save_on_logout'             => new sfValidatorInteger(array('required' => false)),
      'required_orb'                  => new sfValidatorInteger(array('required' => false)),
      'required_book'                 => new sfValidatorInteger(array('required' => false)),
      'cost_start_lv'                 => new sfValidatorInteger(array('required' => false)),
      'cost_toggle_lv'                => new sfValidatorInteger(array('required' => false)),
      'cost_dp_lv'                    => new sfValidatorInteger(array('required' => false)),
      'effect1_acc_mod1'              => new sfValidatorInteger(array('required' => false)),
      'pvp_skill_cancel_bonus'        => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved7'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved8'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved_cond1'        => new sfValidatorString(array('max_length' => 9, 'required' => false)),
      'effect4_reserved_cond1_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved_cond1_prob2'  => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved14'            => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect3_reserved15'            => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved17'            => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved18'            => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'effect4_reserved3'             => new sfValidatorString(array('max_length' => 5, 'required' => false)),
      'effect4_reserved4'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved14'            => new sfValidatorString(array('max_length' => 6, 'required' => false)),
      'effect4_reserved15'            => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved17'            => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved18'            => new sfValidatorString(array('max_length' => 15, 'required' => false)),
      'effect4_checktime'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved9'             => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_attack_dir'       => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_attack_dir_prob1' => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_attack_dir_prob2' => new sfValidatorInteger(array('required' => false)),
      'nonchained_delay_time'         => new sfValidatorInteger(array('required' => false)),
      'prechain_skillname'            => new sfValidatorString(array('max_length' => 23, 'required' => false)),
      'broadcast_use_message'         => new sfValidatorInteger(array('required' => false)),
      'target_range_opt2'             => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved5'             => new sfValidatorInteger(array('required' => false)),
      'cast_camera_work'              => new sfValidatorString(array('max_length' => 27, 'required' => false)),
      'hit_camera_work'               => new sfValidatorString(array('max_length' => 13, 'required' => false)),
      'hit_target_camera_shake'       => new sfValidatorNumber(array('required' => false)),
      'effect3_cond_attack_dir'       => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_attack_dir_prob1' => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_attack_dir_prob2' => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_status'           => new sfValidatorString(array('max_length' => 11, 'required' => false)),
      'effect3_cond_status_prob1'     => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_status_prob2'     => new sfValidatorInteger(array('required' => false)),
      'effect2_cond_race_prob2'       => new sfValidatorInteger(array('required' => false)),
      'effect4_cond_status'           => new sfValidatorString(array('max_length' => 8, 'required' => false)),
      'effect4_cond_status_prob1'     => new sfValidatorInteger(array('required' => false)),
      'effect4_cond_status_prob2'     => new sfValidatorInteger(array('required' => false)),
      'effect3_cond_race_prob2'       => new sfValidatorInteger(array('required' => false)),
      'effect2_reserved12'            => new sfValidatorInteger(array('required' => false)),
      'effect3_reserved12'            => new sfValidatorInteger(array('required' => false)),
      'effect1_reserved_cond2_prob1'  => new sfValidatorInteger(array('required' => false)),
      'effect4_reserved12'            => new sfValidatorInteger(array('required' => false)),
      'max_skill_point'               => new sfValidatorInteger(array('required' => false)),
    ));

    $this->widgetSchema->setNameFormat('game_skill[%s]');

    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);

    $this->setupInheritance();

    parent::setup();
  }

  public function getModelName()
  {
    return 'GameSkill';
  }

}
